class Soldier():
    def __init__(self,name,model,count):
        self.__name = name  # 人名--私有属性
        self.model = model  # 枪的型号
        self.count = count  # 子弹的数量

    def shoot(self):
        if self.count<=0:
            print("没有子弹了")
        else:
            self.count-=1
            print(f"{self.__name}使用了{self.model}射击了一次，还剩{self.count}颗子弹")

zs = Soldier("张三","AK47",3)
zs.shoot()
# 修改在类里面修改
# zs.name = "123"  # 数据不安全，有这样的接口，不允许随意修改(满足修改条件)
# zs.shoot()
# 属性--私有属性
# print(zs.__name) # 报错
# AttributeError: 'Soldier' object has no attribute '__name'
print(dir(zs))
# 1.定义的私有属性只能在类里面访问不能在类外面访问
# 2.在python里面定义为私有属性相当于是修改属性名称_Soldier__name
# print(zs._Soldier__name)  # 这种可以访问到，不建议
# zs.__name = "123"
# zs.shoot()